package com.jhgsys.internal.contractor.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * 承包队设置 Entity
 *
 * @author admin
 * @date 2024-07-29 14:19:05
 */
@Data
@TableName("BASE_CONTRACTOR_TEAM")
@Excel("承包队表")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BaseContractorTeam implements Serializable {

    private static final long serialVersionUID = 4683551611824557058L;
    /**
     * 
     */
    @TableId(value = "CONTRACTOR_TEAM_ID", type = IdType.ASSIGN_UUID)
    @Size(max = 32, message = "{noMoreThan}")
    private String contractorTeamId;

    /**
     * 租户Id
     */
    @TableField("TENANT_ID")
    @ExcelField("租户Id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String tenantId;

    /**
     * 承包方Id
     */
    @TableField("CONTRACTOR_ID")
    @ExcelField("承包方Id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String contractorId;

    /**
     * 承包队名称
     */
    @TableField("TEAM_NAME")
    @ExcelField("承包队名称")
    @NotBlank(message = "{required}")
    @Size(max = 90, message = "{noMoreThan}")
    private String teamName;

    /**
     * 施工部门
     */
    @TableField("CONSTRUCTION_DEPT_ID")
    @ExcelField("施工部门Id")
    @Size(max = 32, message = "{noMoreThan}")
    private String constructionDeptId;

    /**
     * 施工部门
     */
    @TableField("CONSTRUCTION_DEPT")
    @ExcelField("施工部门")
    @Size(max = 150, message = "{noMoreThan}")
    private String constructionDept;

    /**
     * 备注
     */
    @TableField("REMARK")
    @ExcelField("备注")
    @Size(max = 800, message = "{noMoreThan}")
    private String remark;

    /**
     * 状态;0：禁用 1：启用
     */
    @TableField("STATUS")
    @ExcelField("状态")
    @NotBlank(message = "{required}")
    @Size(max = 2, message = "{noMoreThan}")
    private String status;

    /**
     * 新增人
     */
    @TableField("CREATED_BY")
    @ExcelField("新增人")
    @Size(max = 32, message = "{noMoreThan}")
    private String createdBy;

    /**
     * 新增时间
     */
    @TableField("CREATED_TIME")
    @ExcelField("新增时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 修改人
     */
    @TableField("UPDATED_BY")
    @ExcelField("修改人")
    @Size(max = 32, message = "{noMoreThan}")
    private String updatedBy;

    /**
     * 修改时间
     */
    @TableField("UPDATED_TIME")
    @ExcelField("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    /**
     * 删除人
     */
    @TableField("DELETED_By")
    @ExcelField("删除人")
    @Size(max = 32, message = "{noMoreThan}")
    private String deletedBy;

    /**
     * 删除时间
     */
    @TableField("DELETED_TIME")
    @ExcelField("删除时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deletedTime;

    /**
     * 删除标记
     */
    @TableField("DELETED_FLG")
    @ExcelField("删除标记")
    private String deletedFlg;
}